package ${packageName}.service;

import com.swak.annotation.FluxAsync;
import com.swak.entity.Page;
import com.swak.entity.Parameters;
import ${packageName}.dto.${className}DTO;

/**
 * ${className}Service.
 * 
 * @author Auto Generator
 * @date ${date}
 */
@FluxAsync
public interface ${className}Service {
	
	/**
	 * 通过id获取
	 *
	 * @param id 主键
	 * @return ${className}DTO
	 */
	${className}DTO get(${pk} id);
	<#if !isUseMerge>
	/**
	 * 保存
	 *
	 * @param ${functionName}
	 * @return ${className}DTO
	 */
	${className}DTO save(${className}DTO ${functionName});
	
	/**
	 * 删除 
	 * 
	 * @param ${functionName}
	 * @return 删除个数
	 */
	Integer delete(${className}DTO ${functionName});
	</#if>
	
	/**
	 * 分页查询
	 * 
	 * @param query 查询条件${className}DTO
	 * @param param 查询参数
	 * @return 分页数据
	 */
	Page<${className}DTO> page(${className}DTO query, Parameters param);
	
	<#if isUseMerge>
	/**
	 * 合并
	 * 
	 * @param merge 合并数据
	 */
	void merge(${className}DTO merge);
	</#if>
}